package apis

import (
	"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
)

type CkeConfiguration struct {
	kubeadm.InitConfiguration
	Ansible          AnsibleManger
	InsecureRegistry []string
}

type AnsibleManger struct {
	LocalHostName     string
	LocalIp           string
	AnsibleImageName  string
	CkeadmWaitAddress string
	ClusterID         string
	SshSecretKey      string
	NodesConfig       string //--nodes-config
	AllConfig         string // --all-config
	Domains           []string
	Mounts            []string
	AllowKnowHosts    []string
	DockerPreconfiged []string
	ExternalArguments []string
}

// type for K8sNode && WatchData
type K8sNode struct {
	Name string
	Ip   string
}

type WatchData struct {
	Nodes    []K8sNode
	PhaseNum int
}

type LogContext struct {
	ClusterID string
	NodeName  string
	DoneFile  string
	DoneInfo  string
}

//new log for component
type ComponentLog struct {
	ClusterID     string
	NodeName      string
	ComponentName string
	TimeStamp     string
	LogContent    string
	LogId         int    //serial number
	Suffix        string //self defined suffix
	Action        string
}
